[INFO] cloning repository https://github.com/sbmfree/CantayaOS
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sbmfree/CantayaOS" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsbmfree%2FCantayaOS", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsbmfree%2FCantayaOS'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ae5a5c79ee94fc424aab4c04c0632abc725bf033
[INFO] testing sbmfree/CantayaOS against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsbmfree%2FCantayaOS" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/sbmfree/CantayaOS
[INFO] finished tweaking git repo https://github.com/sbmfree/CantayaOS
[INFO] tweaked toml for git repo https://github.com/sbmfree/CantayaOS written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sbmfree/CantayaOS on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sbmfree/CantayaOS already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e37e86bc39fb0de9bbe6386319cbe7b250cf69bf8f0ae3d8170162be59aaaa0a
[INFO] running `Command { std: "docker" "start" "-a" "e37e86bc39fb0de9bbe6386319cbe7b250cf69bf8f0ae3d8170162be59aaaa0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e37e86bc39fb0de9bbe6386319cbe7b250cf69bf8f0ae3d8170162be59aaaa0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e37e86bc39fb0de9bbe6386319cbe7b250cf69bf8f0ae3d8170162be59aaaa0a", kill_on_drop: false }`
[INFO] [stdout] e37e86bc39fb0de9bbe6386319cbe7b250cf69bf8f0ae3d8170162be59aaaa0a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 22e161f12945288fbf6b959c88c0e9bc0803fe0ad57e0a472ae17cc484f34bee
[INFO] running `Command { std: "docker" "start" "-a" "22e161f12945288fbf6b959c88c0e9bc0803fe0ad57e0a472ae17cc484f34bee", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling uguid v2.2.1
[INFO] [stderr]    Compiling bit_field v0.10.3
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling cantaya_shared v0.1.0 (/opt/rustwide/workdir/shared)
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]    Compiling ucs2 v0.3.3
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling cantaya_kernel v0.1.0 (/opt/rustwide/workdir/kernel)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> kernel/src/hal/cpu.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / /// Kernel entry point — called directly by the bootloader.
[INFO] [stdout] 10 | | ///
[INFO] [stdout] 11 | | /// This is a naked function because we need full control over the stack frame.
[INFO] [stdout] 12 | | /// The bootloader passes the BootInfo pointer in RDI (System V x86_64 ABI).
[INFO] [stdout] ...  |
[INFO] [stdout] 18 | | /// SAFETY: This function is called exactly once by the bootloader.
[INFO] [stdout] 19 | | /// The stack pointer set by the bootloader is temporary.
[INFO] [stdout]    | |_________________________________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 22 | / extern "C" {
[INFO] [stdout] 23 | |     static __kernel_stack_top: u8;
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_- rustdoc does not generate documentation for extern blocks
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VRING_DESC_F_NEXT`
[INFO] [stdout]   --> kernel/src/hal/virtio_net.rs:18:63
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::hal::virtio::{self, Virtqueue, VRING_DESC_F_WRITE, VRING_DESC_F_NEXT};
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SHADOW`
[INFO] [stdout]   --> kernel/src/desktop/wm.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |     BUTTON_FACE, SHADOW,
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fill_rect`
[INFO] [stdout]   --> kernel/src/desktop/apps/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fill_rect,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CHAR_WIDTH`
[INFO] [stdout]   --> kernel/src/desktop/apps/mod.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::graphics::font::{CHAR_WIDTH, CHAR_HEIGHT};
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyCode`
[INFO] [stdout]   --> kernel/src/desktop/apps/calculator.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::hal::keyboard::{KeyCode, KeyEvent};
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InputResult`
[INFO] [stdout]  --> kernel/src/desktop/apps/about.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::desktop::{InputResult, TITLE_ACTIVE, draw_text, draw_raised_rect, fill_rect};
[INFO] [stdout]   |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graphics::font::CHAR_HEIGHT`
[INFO] [stdout]   --> kernel/src/desktop/apps/paint.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::graphics::font::CHAR_HEIGHT;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt::Write`
[INFO] [stdout]  --> kernel/src/desktop/apps/minesweeper.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use core::fmt::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CHAR_HEIGHT`
[INFO] [stdout]  --> kernel/src/desktop/drawing.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::graphics::font::{self, CHAR_WIDTH, CHAR_HEIGHT};
[INFO] [stdout]   |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BUTTON_FACE` and `BUTTON_HIGHLIGHT`
[INFO] [stdout]  --> kernel/src/desktop/drawing.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{BUTTON_FACE, BUTTON_SHADOW, BUTTON_HIGHLIGHT, SHADOW, HIGHLIGHT};
[INFO] [stdout]   |             ^^^^^^^^^^^                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::apps`
[INFO] [stdout]  --> kernel/src/desktop/input.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::apps;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyEvent`
[INFO] [stdout]   --> kernel/src/desktop/mod.rs:42:34
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::hal::keyboard::{self, KeyEvent};
[INFO] [stdout]    |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> kernel/src/desktop/apps/filebrowser.rs:208:35
[INFO] [stdout]     |
[INFO] [stdout] 208 |                         if let Ok(text) = core::str::from_utf8(&data) {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> kernel/src/shell/commands/system.rs:1163:9
[INFO] [stdout]      |
[INFO] [stdout] 1163 |     let mut s = String::new();
[INFO] [stdout]      |         ----^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]     --> kernel/src/shell/commands/system.rs:1163:9
[INFO] [stdout]      |
[INFO] [stdout] 1163 |     let mut s = String::new();
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> kernel/src/testing.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut failed = 0u32;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `idle_loop` is never used
[INFO] [stdout]    --> kernel/src/main.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn idle_loop() -> ! {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `x86_64_hlt` is never used
[INFO] [stdout]    --> kernel/src/main.rs:169:4
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn x86_64_hlt() {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMD_DISABLE_AUX` is never used
[INFO] [stdout]   --> kernel/src/hal/mouse.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const CMD_DISABLE_AUX: u8 = 0xA7;  // Disable auxiliary port
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOUSE_DISABLE_DATA` is never used
[INFO] [stdout]   --> kernel/src/hal/mouse.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const MOUSE_DISABLE_DATA: u8 = 0xF5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOUSE_RESET` is never used
[INFO] [stdout]   --> kernel/src/hal/mouse.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const MOUSE_RESET: u8 = 0xFF;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOUSE_SELF_TEST_OK` is never used
[INFO] [stdout]   --> kernel/src/hal/mouse.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const MOUSE_SELF_TEST_OK: u8 = 0xAA;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIRTIO_BLK_S_IOERR` is never used
[INFO] [stdout]   --> kernel/src/hal/virtio_blk.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const VIRTIO_BLK_S_IOERR: u8 = 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIRTIO_BLK_S_UNSUPP` is never used
[INFO] [stdout]   --> kernel/src/hal/virtio_blk.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const VIRTIO_BLK_S_UNSUPP: u8 = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `io_base` is never read
[INFO] [stdout]   --> kernel/src/hal/virtio_blk.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct VirtioBlkDevice {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 58 |     /// I/O port base (BAR0)
[INFO] [stdout] 59 |     io_base: u16,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `io_base` and `mac` are never read
[INFO] [stdout]    --> kernel/src/hal/virtio_net.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | struct VirtioNetDevice {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] 116 |     io_base: u16,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     mac: [u8; 6],
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEAP_START` is never used
[INFO] [stdout]   --> kernel/src/memory/heap.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const HEAP_START: usize = 0xFFFF_FFFF_C000_0000;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `next_ticket`, `now_serving`, and `data` are never read
[INFO] [stdout]   --> kernel/src/core_kernel/sync.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct TicketLock<T> {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 36 |     next_ticket: core::sync::atomic::AtomicU64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 37 |     now_serving: core::sync::atomic::AtomicU64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 38 |     data: spin::Mutex<T>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `screen_w` and `screen_h` are never read
[INFO] [stdout]   --> kernel/src/desktop/mod.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | struct DesktopState {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 98 |     screen_w: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 99 |     screen_h: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scroll` is never read
[INFO] [stdout]   --> kernel/src/desktop/apps/terminal.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct TerminalState {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     scroll: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTR_READ_ONLY` is never used
[INFO] [stdout]   --> kernel/src/storage/fat32.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const ATTR_READ_ONLY: u8 = 0x01;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTR_HIDDEN` is never used
[INFO] [stdout]   --> kernel/src/storage/fat32.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const ATTR_HIDDEN: u8 = 0x02;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTR_SYSTEM` is never used
[INFO] [stdout]   --> kernel/src/storage/fat32.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const ATTR_SYSTEM: u8 = 0x04;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawDirEntry` is never constructed
[INFO] [stdout]   --> kernel/src/storage/fat32.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct RawDirEntry {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:135:74
[INFO] [stdout]     |
[INFO] [stdout] 135 |         idt.entries[0] = IdtEntry::interrupt_gate(divide_by_zero_handler as u64, 0);
[INFO] [stdout]     |                                                                          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 135 |         idt.entries[0] = IdtEntry::interrupt_gate(divide_by_zero_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:136:65
[INFO] [stdout]     |
[INFO] [stdout] 136 |         idt.entries[1] = IdtEntry::interrupt_gate(debug_handler as u64, 0);
[INFO] [stdout]     |                                                                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 136 |         idt.entries[1] = IdtEntry::interrupt_gate(debug_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:137:63
[INFO] [stdout]     |
[INFO] [stdout] 137 |         idt.entries[2] = IdtEntry::interrupt_gate(nmi_handler as u64, 0);
[INFO] [stdout]     |                                                               ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 137 |         idt.entries[2] = IdtEntry::interrupt_gate(nmi_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:138:65
[INFO] [stdout]     |
[INFO] [stdout] 138 |         idt.entries[3] = IdtEntry::trap_gate(breakpoint_handler as u64, 0);
[INFO] [stdout]     |                                                                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 138 |         idt.entries[3] = IdtEntry::trap_gate(breakpoint_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:139:68
[INFO] [stdout]     |
[INFO] [stdout] 139 |         idt.entries[4] = IdtEntry::interrupt_gate(overflow_handler as u64, 0);
[INFO] [stdout]     |                                                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 139 |         idt.entries[4] = IdtEntry::interrupt_gate(overflow_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:140:71
[INFO] [stdout]     |
[INFO] [stdout] 140 |         idt.entries[5] = IdtEntry::interrupt_gate(bound_range_handler as u64, 0);
[INFO] [stdout]     |                                                                       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 140 |         idt.entries[5] = IdtEntry::interrupt_gate(bound_range_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:141:74
[INFO] [stdout]     |
[INFO] [stdout] 141 |         idt.entries[6] = IdtEntry::interrupt_gate(invalid_opcode_handler as u64, 0);
[INFO] [stdout]     |                                                                          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 141 |         idt.entries[6] = IdtEntry::interrupt_gate(invalid_opcode_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:142:80
[INFO] [stdout]     |
[INFO] [stdout] 142 |         idt.entries[7] = IdtEntry::interrupt_gate(device_not_available_handler as u64, 0);
[INFO] [stdout]     |                                                                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 142 |         idt.entries[7] = IdtEntry::interrupt_gate(device_not_available_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:143:72
[INFO] [stdout]     |
[INFO] [stdout] 143 |         idt.entries[8] = IdtEntry::interrupt_gate(double_fault_handler as u64, 1); // IST1 for safety
[INFO] [stdout]     |                                                                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 143 |         idt.entries[8] = IdtEntry::interrupt_gate(double_fault_handler as *const () as u64, 1); // IST1 for safety
[INFO] [stdout]     |                                                                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:145:72
[INFO] [stdout]     |
[INFO] [stdout] 145 |         idt.entries[10] = IdtEntry::interrupt_gate(invalid_tss_handler as u64, 0);
[INFO] [stdout]     |                                                                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 145 |         idt.entries[10] = IdtEntry::interrupt_gate(invalid_tss_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:146:80
[INFO] [stdout]     |
[INFO] [stdout] 146 |         idt.entries[11] = IdtEntry::interrupt_gate(segment_not_present_handler as u64, 0);
[INFO] [stdout]     |                                                                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 146 |         idt.entries[11] = IdtEntry::interrupt_gate(segment_not_present_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:147:74
[INFO] [stdout]     |
[INFO] [stdout] 147 |         idt.entries[12] = IdtEntry::interrupt_gate(stack_segment_handler as u64, 1); // IST1 for safety
[INFO] [stdout]     |                                                                          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 147 |         idt.entries[12] = IdtEntry::interrupt_gate(stack_segment_handler as *const () as u64, 1); // IST1 for safety
[INFO] [stdout]     |                                                                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:148:79
[INFO] [stdout]     |
[INFO] [stdout] 148 |         idt.entries[13] = IdtEntry::interrupt_gate(general_protection_handler as u64, 0);
[INFO] [stdout]     |                                                                               ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 148 |         idt.entries[13] = IdtEntry::interrupt_gate(general_protection_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:149:71
[INFO] [stdout]     |
[INFO] [stdout] 149 |         idt.entries[14] = IdtEntry::interrupt_gate(page_fault_handler as u64, 0);
[INFO] [stdout]     |                                                                       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 149 |         idt.entries[14] = IdtEntry::interrupt_gate(page_fault_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:151:68
[INFO] [stdout]     |
[INFO] [stdout] 151 |         idt.entries[16] = IdtEntry::interrupt_gate(x87_fpu_handler as u64, 0);
[INFO] [stdout]     |                                                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 151 |         idt.entries[16] = IdtEntry::interrupt_gate(x87_fpu_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:152:76
[INFO] [stdout]     |
[INFO] [stdout] 152 |         idt.entries[17] = IdtEntry::interrupt_gate(alignment_check_handler as u64, 0);
[INFO] [stdout]     |                                                                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 152 |         idt.entries[17] = IdtEntry::interrupt_gate(alignment_check_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:153:74
[INFO] [stdout]     |
[INFO] [stdout] 153 |         idt.entries[18] = IdtEntry::interrupt_gate(machine_check_handler as u64, 1); // IST1
[INFO] [stdout]     |                                                                          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 153 |         idt.entries[18] = IdtEntry::interrupt_gate(machine_check_handler as *const () as u64, 1); // IST1
[INFO] [stdout]     |                                                                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:154:68
[INFO] [stdout]     |
[INFO] [stdout] 154 |         idt.entries[19] = IdtEntry::interrupt_gate(simd_fp_handler as u64, 0);
[INFO] [stdout]     |                                                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 154 |         idt.entries[19] = IdtEntry::interrupt_gate(simd_fp_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:157:66
[INFO] [stdout]     |
[INFO] [stdout] 157 |         idt.entries[32] = IdtEntry::interrupt_gate(timer_handler as u64, 0);      // IRQ0: PIT Timer
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 157 |         idt.entries[32] = IdtEntry::interrupt_gate(timer_handler as *const () as u64, 0);      // IRQ0: PIT Timer
[INFO] [stdout]     |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:158:69
[INFO] [stdout]     |
[INFO] [stdout] 158 |         idt.entries[33] = IdtEntry::interrupt_gate(keyboard_handler as u64, 0);   // IRQ1: Keyboard
[INFO] [stdout]     |                                                                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 158 |         idt.entries[33] = IdtEntry::interrupt_gate(keyboard_handler as *const () as u64, 0);   // IRQ1: Keyboard
[INFO] [stdout]     |                                                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:159:66
[INFO] [stdout]     |
[INFO] [stdout] 159 |         idt.entries[44] = IdtEntry::interrupt_gate(mouse_handler as u64, 0);      // IRQ12: PS/2 Mouse
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 159 |         idt.entries[44] = IdtEntry::interrupt_gate(mouse_handler as *const () as u64, 0);      // IRQ12: PS/2 Mouse
[INFO] [stdout]     |                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/hal/idt.rs:447:71
[INFO] [stdout]     |
[INFO] [stdout] 447 |         idt.entries[vector] = IdtEntry::interrupt_gate(virtio_handler as u64, 0);
[INFO] [stdout]     |                                                                       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 447 |         idt.entries[vector] = IdtEntry::interrupt_gate(virtio_handler as *const () as u64, 0);
[INFO] [stdout]     |                                                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/executive/syscall.rs:125:46
[INFO] [stdout]     |
[INFO] [stdout] 125 |         wrmsr(IA32_LSTAR, syscall_entry_stub as u64);
[INFO] [stdout]     |                                              ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 125 |         wrmsr(IA32_LSTAR, syscall_entry_stub as *const () as u64);
[INFO] [stdout]     |                                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> kernel/src/executive/syscall.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |         star, syscall_entry_stub as u64
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 137 |         star, syscall_entry_stub as *const () as u64
[INFO] [stdout]     |                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `abi_x86_interrupt` is declared but not used
[INFO] [stdout]   --> kernel/src/main.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | #![feature(abi_x86_interrupt)] // Required for interrupt handler function signatures
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/opt/rustwide/target/debug/deps/rustcQvwOxT/symbols.o" "<17 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libbitflags-b75b0d11b4481f4a,liblog-6f0b7ca2f57a58b6,libcantaya_shared-6f75a98e9eafbf63,libspin-f3a4c05a01b1a77f,liblock_api-3fe0b79d48540412,libscopeguard-9a40176085421c5a}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-L" "/opt/rustwide/target/debug/deps/rustcQvwOxT/raw-dylibs" "-Wl,-Bdynamic" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/cantaya_kernel-22e01170d82f2ceb" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: rust-lld: error: duplicate symbol: _start
[INFO] [stdout]           >>> defined at /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o:(_start)
[INFO] [stdout]           >>> defined at cantaya_kernel.739507d275a02ba6-cgu.15
[INFO] [stdout]           >>>            /opt/rustwide/target/debug/deps/cantaya_kernel-22e01170d82f2ceb.cantaya_kernel.739507d275a02ba6-cgu.15.rcgu.o:(.text._start+0x0)
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cantaya_kernel` (bin "cantaya_kernel") due to 1 previous error; 60 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "22e161f12945288fbf6b959c88c0e9bc0803fe0ad57e0a472ae17cc484f34bee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22e161f12945288fbf6b959c88c0e9bc0803fe0ad57e0a472ae17cc484f34bee", kill_on_drop: false }`
[INFO] [stdout] 22e161f12945288fbf6b959c88c0e9bc0803fe0ad57e0a472ae17cc484f34bee
